In order to efficiently transmit or record a moving image, a moving image coding device for coding a moving image and a moving image decoding device for decoding a moving image are widely used. Typical examples of a moving image coding method encompass a method adopted in H.264/MPEG-4.AVC (Non-patent Literature 1) and a method adopted in KTA software which is a codec for joint development in VCEG (Video Coding Expert Group).
In these coding methods, each of pictures constituting a moving image is managed by a hierarchical structure that is constituted by (i) a slice which is obtained by dividing a picture, (ii) a macroblock which is obtained by dividing the slice, and (iii) a block which is obtained by dividing the macroblock.
The moving image coding device codes a moving image per block. Specifically, the moving image coding device performs (1) DCT (Discrete Cosine Transform) transformation of a prediction residual for each block, which prediction residual is obtained by subtracting a predicted image from an original image, (2) quantization of a DCT coefficient which is obtained from the DCT transformation, and (3) a variable length coding of the DCT coefficient thus quantized. In general, reduction of an amount of codes is possible by performing, not for an original image but for a prediction residual, the DCT transformation, quantization, and variable length coding.
The moving image coding device generates the above-mentioned predicted image on the basis of a locally decoded image which is obtained by performing inverse quantization and inverse DCT transformation of the DCT coefficient that has been quantized. As methods for generating the predicted image, there are inter-screen prediction (inter prediction) and intra-screen prediction (intra prediction). In the moving image coding device, a prediction method to be used is selected for each macroblock. Note that because the present invention relates to intra prediction, the following discusses a case where the intra prediction is selected and used, and explanations on a process regarding the inter prediction is omitted here.
Meanwhile, the moving image decoding device decodes a moving image per block. Specifically, the moving image decoding device obtains a decoded image, by performing (1) decoding of a DCT coefficient which has been subjected to variable length coding and quantization, (2) inverse quantization of the DCT coefficient that is obtained by the decoding, and (3) adds, to a predicted image, a prediction residual which is obtained by inverse DCT transformation per block. A method for generating the predicted image in the moving image decoding device is identical with that in the moving image coding device.
The moving image coding device and the moving image decoding device of the conventional art each use a value that is called an intra-prediction mode (hereinafter, simply referred to as prediction mode), for generating an intra-prediction image per block. The prediction mode for a subject block has a value associated with one estimated value that is estimated from an adjacent block neighboring the subject block (Non-patent Literature 1). The estimated value is called an estimated prediction mode. The moving image coding device codes the value of the prediction mode by use of the estimated prediction mode. Similarly, the moving image decoding device decodes, by use of the estimated prediction mode, the prediction mode from coded data which is generated by the moving image coding device. In a case where the estimated prediction mode is identical with an actual prediction mode, coding is performed in such a way that a code length is shorter than that in a case where the actual prediction mode is directly coded.
In recent years, to cope with a higher definition of a digital image today, coding by use of a larger macroblock has been attempted. Moreover, in order to perform more precise intra prediction for a large macroblock, it has been attempt to increase a total number of prediction modes by fractionalized prediction directions. (b) of FIG. 14 is a view illustrating 32 types of prediction directions as a specific example of multiple directional predictions. For example, in a technique disclosed in Non-patent Literature 2, it is possible to employ a prediction mode that involves (i) more processing units (blocks) as compared to Non-patent Literature 1 and (ii) multiple directional predictions in more directions which are similar to those shown in (b) of FIG. 14. In particular, for respective blocks dimensions of which are 16.times.16 and 32.times.32, a total number M of the prediction modes=33.